﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Domain.Entities;

namespace _2112A_2_MES._wangweihao
{
    /// <summary>
    /// 库存明细表
    /// </summary>
    public class StockDetail : Entity<int>
    {

        /// <summary>
        /// 产品ID
        /// </summary>
        public int? ItemId { get; set; }

        /// <summary>
        /// 产品编码
        /// </summary>
        [StringLength(64)]
        public string? ItemCode { get; set; }

        /// <summary>
        /// 产品名称
        /// </summary>
        [StringLength(255)]
        public string? ItemName { get; set; }

        /// <summary>
        /// 单位
        /// </summary>
        [StringLength(64)]
        public string? UnitOfMeasurement { get; set; }

        /// <summary>
        /// 批次ID
        /// </summary>
        public int? BatchId { get; set; }

        /// <summary>
        /// 批次编号
        /// </summary>
        [StringLength(64)]
        public string? BatchCode { get; set; }

        /// <summary>
        /// 生产日期
        /// </summary>
        public DateTime? ProducedTime { get; set; }

        /// <summary>
        /// 客户ID
        /// </summary>
        public int? ClientId { get; set; }

        /// <summary>
        /// 客户编码
        /// </summary>
        [StringLength(64)]
        public string? ClientCode { get; set; }

        /// <summary>
        /// 客户名称
        /// </summary>
        [StringLength(255)]
        public string? ClientName { get; set; }

        /// <summary>
        /// 客户简称
        /// </summary>
        [StringLength(255)]
        public string? ClientNick { get; set; }

        /// <summary>
        /// 仓库ID
        /// </summary>
        public int? WarehouseId { get; set; }

        /// <summary>
        /// 仓库编号
        /// </summary>
        [StringLength(64)]
        public string? WarehouseCode { get; set; }

        /// <summary>
        /// 仓库名称
        /// </summary>
        [StringLength(255)]
        public string? WarehouseName { get; set; }

        /// <summary>
        /// 库区ID
        /// </summary>
        public int? LocationId { get; set; }

        /// <summary>
        /// 库区编号
        /// </summary>
        [StringLength(64)]
        public string? LocationCode { get; set; }

        /// <summary>
        /// 库区名称
        /// </summary>
        [StringLength(255)]
        public string? LocationName { get; set; }

        /// <summary>
        /// 区域ID
        /// </summary>
        public int? AreaId { get; set; }

        /// <summary>
        /// 区域编码
        /// </summary>
        [StringLength(64)]
        public string? AreaCode { get; set; }

        /// <summary>
        /// 区域名称
        /// </summary>
        [StringLength(255)]
        public string? AreaName { get; set; }

        /// <summary>
        /// 存货数量
        /// </summary>
        public double? Quantity { get; set; }

        /// <summary>
        /// 预留库存数量
        /// </summary>
        public double? QuantityReserved { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        [StringLength(500)]
        public string? Remark { get; set; }

        /// <summary>
        /// 创建人
        /// </summary>
        [StringLength(64)]
        public string? CreateBy { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime? CreateTime { get; set; }

        /// <summary>
        /// 更新人
        /// </summary>
        [StringLength(64)]
        public string? UpdateBy { get; set; }

        /// <summary>
        /// 更新时间
        /// </summary>
        public DateTime? UpdateTime { get; set; }
    }
}
